System developers typically train question answer systems by ingesting corpora from trusted, traditional sources (textbooks, journals) that include accurate information. At times, a system developer may train a question answer system to a specific domain to increase the question answer system's accuracy (e.g., financial domain, travel domain, etc.). Once the question answer system is trained, the question answer system receives questions and performs queries on the trained domain. Processing resources required to convert natural language questions into formal database questions depends, in part, upon the correlation between terms in the question and terms used in the formal database. Simple patterns like “Who is the X of Y” are easily converted into a formal query when the structure of a relational database is simple.
However, more complex questions may not correspond closely to the underlying database structure, such as “Who was elected in 2000 as the United States President?” In these situations, a question answer system requires a substantial amount of resources to generate formal database queries for complex questions, which typically includes a trained linguist manually enumerating hard-coded database lookups.